import java.util.Date;

public class DateUntil {

        public int date;
        public int year;
        public int month;
        //构造方法：没有返回值，且方法名与类名相同，这种方法叫构造方法
        public DateUntil(){
            System.out.println("我是构造方法");
        }//两个构造方法构成重载
        public DateUntil(int year,int month,int date){//虽然没有返回值，但是不要加void
            this.year=year;
            this.month=month;
            this.date=date;
            System.out.println("年："+year+" "+"月："+month+" "+"日："+date);
        }
        /*public void Setdata(int year,int month,int date){//当形参名和成员变量名相同时，在SetData方法里的局部变量优先，
            year=year;//即形参赋值给形参，不是形参year赋值给DataUntil里的year，所以要加上this
            month=month;
            date=date;
        }*/
        public void Setdata(int year,int month,int date){
            this.year=year;//加上this表示给当前的对象的属性赋上year形参的值
            this.month=month;
            this.date=date;
        }
        public void show(){
            System.out.println("年："+year+"月："+month+"日："+date);
        }

        public static void main(String[] args) {
            DateUntil Datetime=new DateUntil(2025,11,4);//这条语句一执行，必会调用构造方法，
            // 如果没有写构造方法的时候,java默认有个无形参传入的空语句的构造方法
            //由于构造方法和类名相同，可以当成方法传参
            Datetime.Setdata(2022,12,2);
            Datetime.show();
            System.out.println("=============================");

            DateUntil Datetime2=new DateUntil();

            System.out.println("=============================");

            DateUntil Datetime3=new DateUntil();
            Datetime.Setdata(2019,12,2);
            Datetime.show();
            System.out.println("=============================");

        }
}
